package com.yt.base.service;

import java.util.List;

import com.yt.base.model.AclUserOperation;
import com.yt.base.model.AclUser;
import com.yt.base.vo.UserMenuVo;
import com.yt.core.service.GenericService;

public interface AclUserOperationService extends GenericService<AclUserOperation, Long> {
	
	/**
	 * 查询用户的所有操作权限
	 * @param userId
	 * @return
	 */
	List<AclUserOperation> findByUser(Long userId);
	
	/**
	 * 清除用户的权限记录
	 * @param uid
	 */
	void removeUserOp(Long uid);
	
	/**
	 * 批量删除
	 * @param idList
	 */
	void batchDelete(List<Long> idList);
	
	/**
	 * 批量新增
	 * @param opList
	 */
	void batchInsert(List<AclUserOperation> opList);
	
	/**
	 * 更新用户权限集合
	 * @param user
	 * @param aclList
	 */
	void modify(AclUser user, List<String> aclList);

	/**
	 * 查询用户的操作权限
	 * @param userId
	 * @return
	 */
	List<String> getUserKeys(AclUser user);
	/**
	 * 查询用户的菜单信息
	 * @param user
	 * @return
	 */
	UserMenuVo getUserMenu(AclUser user);
}
